package com.openx.xoj.judge.codesandbok;

import com.openx.xoj.judge.codesandbok.CodeSandbox;
import com.openx.xoj.judge.codesandbok.impl.ExampleCodeSandbox;
import com.openx.xoj.judge.codesandbok.impl.RemoteCodeSandbox;
import com.openx.xoj.judge.codesandbok.impl.ThirdPartyCodeSandbox;

/**
 * 代码沙箱工厂
 */
public class CodeSandboxFactory {
    /**
     * 创建代码沙箱示例
     * @param type
     * @return
     */
    public static CodeSandbox newInstance(String type){
        switch (type){
            case "remote":
                return new RemoteCodeSandbox();
            case "thirdParty":
                return new ThirdPartyCodeSandbox();
            case "example":
            default:
                return new ExampleCodeSandbox();

        }
    }
}
